Harness Engineering
AIエージェントの性能を左右する周辺インフラの設計と実践の総称
定義と概念
「AIエージェントを制御し、信頼性を維持するためのツールと実践」
Phil Schmidのアナロジー
LLMはCPU、コンテキストウィンドウはRAM、ハーネスはOS、エージェントはアプリケーション
CPUがどれだけ高性能でもOSが貧弱ならパフォーマンスは出ない
エージェントフレームワークより上位レイヤーに位置する
フレームワークがツールやエージェントループの構成要素を提供するのに対し、ハーネスはプロンプトプリセット・ライフサイクルフック・サブエージェント管理などを一括提供する
OpenAIが「Harness engineering」として公式に言語化(Mitchell Hashimotoのブログが起源とも)
https://openai.com/ja-JP/index/harness-engineering/
ハーネスが必要な理由
モデル間の静的ベンチマークスコア差は縮小しているが、長時間・複雑タスクでの差は顕在化
100ステップ以上のツール呼び出し後にモデルが初期指示に従わなくなる「モデルドリフト」が問題
ベンチマークは耐久性を計測できていない
50〜100回のツール呼び出し後の挙動をテストするものはほぼ存在しない
ハーネスの主要コンポーネント
コンテキストエンジニアリング(最重要要素)
Reduce(削減):古いツール呼び出し結果を要約に置き換え、長いトラジェクトリを圧縮
Offload(オフロード):完全なツール結果を外部ファイルに保存、100個のツールの代わりにbashのような汎用ツール1つへ集約
Isolate(隔離):トークン消費が多い副タスクをサブエージェントに委譲し、結果のみを親に返す
自己検証ループ
LangChainのLoopDetectionMiddleware:同じアプローチの繰り返しを検出し戦略の再考を促す
PreCompletionChecklistMiddleware:完了宣言前に検証パスの実行を強制
セッション引き継ぎ
Anthropicが提案する二層構造:初期化エージェントとコーディングエージェントの分離
progress.txtとgit logで前セッションの状態を引き継ぐ
進捗管理にはfeatures_list.json(Markdownよりモデルが誤編集しにくい)
コンテキスト管理以外のハーネスコンポーネント(OpenAIの事例)
コンテキストエンジニアリング:コードベースのナレッジベース整備・オブザーバビリティデータへのアクセス
アーキテクチャ制約:LLMベースの監視に加えてカスタムリンターや構造テストも併用
ガーベジコレクション:ドキュメントの不整合や制約違反を定期的に発見するエージェント
ツールは減らすほうが性能が上がる
Vercelの事例:ツールの80%を削除したところエージェントが速く正確に
包括的なツールライブラリを揃えた当初はツール間での混乱と冗長呼び出しが頻発
Can.acのHashline実験:ツール形式を変えただけで15モデル全スコアが改善
最大の例:Grok Code Fast 1が6.7%→68.3%(約10倍)、モデルの重みに変更なし
出力トークンも平均約20%削減
LangChainのTerminal Bench 2.0:ハーネス改善だけでランキング30位→5位に飛躍
ビターレッスンとアンチパターン
Rich SuttonのThe Bitter Lesson:汎用的な手法が手作りロジックに勝つ
Manusは6ヶ月でハーネスを5回再設計
LangChainも1年で3回再アーキテクチャ
2024年に複雑なパイプラインが必要だった機能が2026年には単一コンテキストウィンドウで処理可能なケースが増加
ハーネスは軽量に、壊して作り直せる前提で設計すべき
今後の展望
コンテキスト耐久性が2026年の新たなボトルネック
ハーネスがモデルドリフトを検出するデータ収集ツールになり、トレーニングデータにフィードバックされる未来
ハーネスが将来のサービステンプレートになりうる(Martin Fowlerの見解)
既存のサービステンプレートのように、ゴールデンパスとしてチームが採用する形
テックスタックの収束:AIがメンテしやすいアーキテクチャパターンに限定される可能性
設計指針
Start Simple:巨大なコントロールフローを作らず、原子的なツールを提供してモデルに計画させる
Build to Delete:モジュラーに構築し、新モデルへの対応で古いロジックを捨てられる設計に
The Harness is the Dataset:ハーネスが収集するトラジェクトリこそが競争優位の源泉
参考
https://note.com/timakin/n/nc85957a9f710
https://www.philschmid.de/agent-harness-2026
https://martinfowler.com/articles/exploring-gen-ai/harness-engineering.html
https://openai.com/index/harness-engineering/
2026-04
エージェントハーネスを継続的に改善する by Cursor
ハーネスエンジニアリングの概要と設計思想
ハーネスとは
https://gyazo.com/50ef572b228b2608a1ee0848971a7369
ハーネスエンジニアリングとは
https://gyazo.com/984f7f42ed8a12f2f71bb6893d1993f0
https://gyazo.com/26ea8b04f116fc4169c464c9a7f2548a
開発・テストが早くなってもデプロイ容易性が低いままでは価値提供は加速しない
AIエージェントの″ハーネス″に関わる混乱と私見
エージェントハーネスやハーネスエンジニアリングという言葉がバズワード化している
同じ単語をプレイヤーによって異なるスコープで使っているため混乱が生じる
Martin Fowler の図に基づく分類
Martin FowlerのHarness engineering for coding agent users (2026-04) を引用元として、内部ハーネスと外部ハーネスの二層に分けて整理する
同じ「ハーネス」という単語を作り手と使い手のそれぞれが自分の関心領域に対して使っているのが混乱の正体
内部ハーネス: LLMモデルを囲むハーネス、エージェントの作り手側が考慮する範囲
外部ハーネス: 内部ハーネスを囲むハーネス、エージェントの使い手側が考慮する範囲
https://scrapbox.io/files/69f871548dc79f02a28b2ddb.webp
内部ハーネス: LangChain の立場
LangChainのThe Anatomy of an Agent Harness記事のテーゼは「Agent = Model + Harness」
LangChainはユーザにAgentを作らせるための製品を提供するベンダーであり、ユーザにハーネスエンジニアリングを促す立場
ベンダーポジションとして違和感はない
内部ハーネス: Anthropic の立場
LLMを長時間駆動させるための馬具としてハーネスを表現する傾向
2025/11記事 Effective Harnesses for Long-Running Agents: ステートレスなLLMにセットアップスクリプト・進捗ファイル・git履歴・自動テストなどをリレーのバトンのように受け渡す話
2026/03記事 Harness Design for Long-Running Apps: 生成エージェントと評価エージェントのマルチエージェント構成でGAN的に競わせる構成
2026/04記事 Harnessing Claude's Intelligence: セキュリティ境界の決定論的手段はよいが、不要な補助ロジック・ツール・制御は外せ、賢くなるLLMには枷になる、というモデルの自主性尊重論
著者の私見: Anthropicが競合領域に次々参入する以上(Clineに対する廉価なClaude Code、Cowarkに対するOpenClawへの定額適用禁止など)、彼らの内部ハーネス論を素直に参考にしづらい
ベンダー側の機能アピール・Claude Managed Agentsへの製品戦略という側面が強く、ユーザが作った部分が競合したら本家に奪われるのではという懸念
外部ハーネス: Mitchell Hashimoto の立場
Mitchell HashimotoのMy AI Adoption Journeyブログでの言及
「AIエージェントが同じミスをしないように解決策を設計する」ことをハーネスエンジニアリングと呼ぶ
普通に使う利用者視点で、著者も共感できる立場
外部ハーネス: OpenAI の立場
OpenAIのHarness Engineering記事はMitchell Hashimotoとほぼ同じ利用者寄りの立場
「生成コードは人間のスタイル好みに合致しなくてよい、出力が正しく保守可能で将来の実行エージェントが読めれば基準を満たす」
Anthropicと異なりエージェント利用者向けの色が強い
著者の推測: OpenAIの目標はAGI(モデルでの完結)であり、内部ハーネスを押し出すと自社目標とコンフリクトするため利用者側に立っているのではないか
ただし現時点の顧客への迎合という側面もある
結論まとめ
内部ハーネス = Agent Harness、主なプレイヤーはLangChain・Anthropic、目的は自社製品でAgentを作らせること、利用者から見るとロックイン寄り
外部ハーネス = Agent Harness、主なプレイヤーはMitchell Hashimoto・OpenAI利用者ガイド、目的は現場でAgentを安全に使うこと、印象は実務寄り・ベストプラクティス寄り
同じ言葉が言う側のポジションで意味がズレるため、用語としては使いたくない